import { App as AntdApp, AppProps } from 'antd';

/**
 * 导出应用包裹组件
 * @param {AppProps} props - 应用包裹组件的属性
 * @param {React.ReactNode} props.children - 子组件
 * @param {MessageInstance} props.message - 全局提示实例
 * @param {NotificationInstance} props.notification - 全局通知实例
 * @param {ModalStaticFunctions} props.modal - 全局对话框实例
 * @returns {JSX.Element} 应用包裹组件的 JSX 元素
 * @description 应用包裹组件是 Ant Design 提供的顶层容器组件，用于提供全局的 message、notification、modal 等静态方法的上下文。
 * @example
 * <App>
 *   <div>Your App Content</div>
 * </App>
 * @example
 * const { message } = App.useApp();
 * message.success('Success!');
 */
export const App = (props: AppProps) => {
  return <AntdApp {...props} />;
};

// 默认导出
export default App;

// 重新导出类型
export type { AppProps };
